﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.InteropServices;
    using System.ServiceModel;
    using System.ServiceModel.Channels;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), DebuggerStepThrough]
    public class MediaClient : ClientBase<Media>, Media
    {
        public MediaClient()
        {
        }

        public MediaClient(string endpointConfigurationName) : base(endpointConfigurationName)
        {
        }

        public MediaClient(Binding binding, EndpointAddress remoteAddress) : base(binding, remoteAddress)
        {
        }

        public MediaClient(string endpointConfigurationName, EndpointAddress remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public MediaClient(string endpointConfigurationName, string remoteAddress) : base(endpointConfigurationName, remoteAddress)
        {
        }

        public void AddAudioDecoderConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddAudioDecoderConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddAudioEncoderConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddAudioEncoderConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddAudioOutputConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddAudioOutputConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddAudioSourceConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddAudioSourceConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddMetadataConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddMetadataConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddPTZConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddPTZConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddVideoAnalyticsConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddVideoAnalyticsConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddVideoEncoderConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddVideoEncoderConfiguration(ProfileToken, ConfigurationToken);
        }

        public void AddVideoSourceConfiguration(string ProfileToken, string ConfigurationToken)
        {
            base.Channel.AddVideoSourceConfiguration(ProfileToken, ConfigurationToken);
        }

        public Profile CreateProfile(string Name, string Token)
        {
            return base.Channel.CreateProfile(Name, Token);
        }

        public void DeleteProfile(string ProfileToken)
        {
            base.Channel.DeleteProfile(ProfileToken);
        }

        public AudioDecoderConfiguration GetAudioDecoderConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetAudioDecoderConfiguration(ConfigurationToken);
        }

        public AudioDecoderConfigurationOptions GetAudioDecoderConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetAudioDecoderConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public AudioDecoderConfiguration[] GetAudioDecoderConfigurations()
        {
            GetAudioDecoderConfigurationsRequest request = new GetAudioDecoderConfigurationsRequest();
            return ((Media) this).GetAudioDecoderConfigurations(request).Configurations;
        }

        public AudioEncoderConfiguration GetAudioEncoderConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetAudioEncoderConfiguration(ConfigurationToken);
        }

        public AudioEncoderConfigurationOptions GetAudioEncoderConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetAudioEncoderConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public AudioEncoderConfiguration[] GetAudioEncoderConfigurations()
        {
            GetAudioEncoderConfigurationsRequest request = new GetAudioEncoderConfigurationsRequest();
            return ((Media) this).GetAudioEncoderConfigurations(request).Configurations;
        }

        public AudioOutputConfiguration GetAudioOutputConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetAudioOutputConfiguration(ConfigurationToken);
        }

        public AudioOutputConfigurationOptions GetAudioOutputConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetAudioOutputConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public AudioOutputConfiguration[] GetAudioOutputConfigurations()
        {
            GetAudioOutputConfigurationsRequest request = new GetAudioOutputConfigurationsRequest();
            return ((Media) this).GetAudioOutputConfigurations(request).Configurations;
        }

        public AudioOutput[] GetAudioOutputs()
        {
            GetAudioOutputsRequest request = new GetAudioOutputsRequest();
            return ((Media) this).GetAudioOutputs(request).AudioOutputs;
        }

        public AudioSourceConfiguration GetAudioSourceConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetAudioSourceConfiguration(ConfigurationToken);
        }

        public AudioSourceConfigurationOptions GetAudioSourceConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetAudioSourceConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public AudioSourceConfiguration[] GetAudioSourceConfigurations()
        {
            GetAudioSourceConfigurationsRequest request = new GetAudioSourceConfigurationsRequest();
            return ((Media) this).GetAudioSourceConfigurations(request).Configurations;
        }

        public AudioSource[] GetAudioSources()
        {
            GetAudioSourcesRequest request = new GetAudioSourcesRequest();
            return ((Media) this).GetAudioSources(request).AudioSources;
        }

        public AudioDecoderConfiguration[] GetCompatibleAudioDecoderConfigurations(string ProfileToken)
        {
            GetCompatibleAudioDecoderConfigurationsRequest request = new GetCompatibleAudioDecoderConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleAudioDecoderConfigurations(request).Configurations;
        }

        public AudioEncoderConfiguration[] GetCompatibleAudioEncoderConfigurations(string ProfileToken)
        {
            GetCompatibleAudioEncoderConfigurationsRequest request = new GetCompatibleAudioEncoderConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleAudioEncoderConfigurations(request).Configurations;
        }

        public AudioOutputConfiguration[] GetCompatibleAudioOutputConfigurations(string ProfileToken)
        {
            GetCompatibleAudioOutputConfigurationsRequest request = new GetCompatibleAudioOutputConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleAudioOutputConfigurations(request).Configurations;
        }

        public AudioSourceConfiguration[] GetCompatibleAudioSourceConfigurations(string ProfileToken)
        {
            GetCompatibleAudioSourceConfigurationsRequest request = new GetCompatibleAudioSourceConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleAudioSourceConfigurations(request).Configurations;
        }

        public MetadataConfiguration[] GetCompatibleMetadataConfigurations(string ProfileToken)
        {
            GetCompatibleMetadataConfigurationsRequest request = new GetCompatibleMetadataConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleMetadataConfigurations(request).Configurations;
        }

        public VideoAnalyticsConfiguration[] GetCompatibleVideoAnalyticsConfigurations(string ProfileToken)
        {
            GetCompatibleVideoAnalyticsConfigurationsRequest request = new GetCompatibleVideoAnalyticsConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleVideoAnalyticsConfigurations(request).Configurations;
        }

        public VideoEncoderConfiguration[] GetCompatibleVideoEncoderConfigurations(string ProfileToken)
        {
            GetCompatibleVideoEncoderConfigurationsRequest request = new GetCompatibleVideoEncoderConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleVideoEncoderConfigurations(request).Configurations;
        }

        public VideoSourceConfiguration[] GetCompatibleVideoSourceConfigurations(string ProfileToken)
        {
            GetCompatibleVideoSourceConfigurationsRequest request = new GetCompatibleVideoSourceConfigurationsRequest {
                ProfileToken = ProfileToken
            };
            return ((Media) this).GetCompatibleVideoSourceConfigurations(request).Configurations;
        }

        public int GetGuaranteedNumberOfVideoEncoderInstances(out int? JPEG, out int? H264, out int? MPEG4, string ConfigurationToken)
        {
            return base.Channel.GetGuaranteedNumberOfVideoEncoderInstances(out JPEG, out H264, out MPEG4, ConfigurationToken);
        }

        public MetadataConfiguration GetMetadataConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetMetadataConfiguration(ConfigurationToken);
        }

        public MetadataConfigurationOptions GetMetadataConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetMetadataConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public MetadataConfiguration[] GetMetadataConfigurations()
        {
            GetMetadataConfigurationsRequest request = new GetMetadataConfigurationsRequest();
            return ((Media) this).GetMetadataConfigurations(request).Configurations;
        }

        public Profile GetProfile(string ProfileToken)
        {
            return base.Channel.GetProfile(ProfileToken);
        }

        public Profile[] GetProfiles()
        {
            GetProfilesRequest request = new GetProfilesRequest();
            return ((Media) this).GetProfiles(request).Profiles;
        }

        public GetServiceCapabilitiesResponse GetServiceCapabilities(TestTool.Proxies.Onvif.GetServiceCapabilities GetServiceCapabilities1)
        {
            GetServiceCapabilitiesRequest request = new GetServiceCapabilitiesRequest {
                GetServiceCapabilities = GetServiceCapabilities1
            };
            return ((Media) this).GetServiceCapabilities(request).GetServiceCapabilitiesResponse;
        }

        public MediaUri GetSnapshotUri(string ProfileToken)
        {
            return base.Channel.GetSnapshotUri(ProfileToken);
        }

        public MediaUri GetStreamUri(StreamSetup StreamSetup, string ProfileToken)
        {
            return base.Channel.GetStreamUri(StreamSetup, ProfileToken);
        }

        public VideoAnalyticsConfiguration GetVideoAnalyticsConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetVideoAnalyticsConfiguration(ConfigurationToken);
        }

        public VideoAnalyticsConfiguration[] GetVideoAnalyticsConfigurations()
        {
            GetVideoAnalyticsConfigurationsRequest request = new GetVideoAnalyticsConfigurationsRequest();
            return ((Media) this).GetVideoAnalyticsConfigurations(request).Configurations;
        }

        public VideoEncoderConfiguration GetVideoEncoderConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetVideoEncoderConfiguration(ConfigurationToken);
        }

        public VideoEncoderConfigurationOptions GetVideoEncoderConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetVideoEncoderConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public VideoEncoderConfiguration[] GetVideoEncoderConfigurations()
        {
            GetVideoEncoderConfigurationsRequest request = new GetVideoEncoderConfigurationsRequest();
            return ((Media) this).GetVideoEncoderConfigurations(request).Configurations;
        }

        public VideoSourceConfiguration GetVideoSourceConfiguration(string ConfigurationToken)
        {
            return base.Channel.GetVideoSourceConfiguration(ConfigurationToken);
        }

        public VideoSourceConfigurationOptions GetVideoSourceConfigurationOptions(string ConfigurationToken, string ProfileToken)
        {
            return base.Channel.GetVideoSourceConfigurationOptions(ConfigurationToken, ProfileToken);
        }

        public VideoSourceConfiguration[] GetVideoSourceConfigurations()
        {
            GetVideoSourceConfigurationsRequest request = new GetVideoSourceConfigurationsRequest();
            return ((Media) this).GetVideoSourceConfigurations(request).Configurations;
        }

        public VideoSource[] GetVideoSources()
        {
            GetVideoSourcesRequest request = new GetVideoSourcesRequest();
            return ((Media) this).GetVideoSources(request).VideoSources;
        }

        public void RemoveAudioDecoderConfiguration(string ProfileToken)
        {
            base.Channel.RemoveAudioDecoderConfiguration(ProfileToken);
        }

        public void RemoveAudioEncoderConfiguration(string ProfileToken)
        {
            base.Channel.RemoveAudioEncoderConfiguration(ProfileToken);
        }

        public void RemoveAudioOutputConfiguration(string ProfileToken)
        {
            base.Channel.RemoveAudioOutputConfiguration(ProfileToken);
        }

        public void RemoveAudioSourceConfiguration(string ProfileToken)
        {
            base.Channel.RemoveAudioSourceConfiguration(ProfileToken);
        }

        public void RemoveMetadataConfiguration(string ProfileToken)
        {
            base.Channel.RemoveMetadataConfiguration(ProfileToken);
        }

        public void RemovePTZConfiguration(string ProfileToken)
        {
            base.Channel.RemovePTZConfiguration(ProfileToken);
        }

        public void RemoveVideoAnalyticsConfiguration(string ProfileToken)
        {
            base.Channel.RemoveVideoAnalyticsConfiguration(ProfileToken);
        }

        public void RemoveVideoEncoderConfiguration(string ProfileToken)
        {
            base.Channel.RemoveVideoEncoderConfiguration(ProfileToken);
        }

        public void RemoveVideoSourceConfiguration(string ProfileToken)
        {
            base.Channel.RemoveVideoSourceConfiguration(ProfileToken);
        }

        public void SetAudioDecoderConfiguration(AudioDecoderConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetAudioDecoderConfiguration(Configuration, ForcePersistence);
        }

        public void SetAudioEncoderConfiguration(AudioEncoderConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetAudioEncoderConfiguration(Configuration, ForcePersistence);
        }

        public void SetAudioOutputConfiguration(AudioOutputConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetAudioOutputConfiguration(Configuration, ForcePersistence);
        }

        public void SetAudioSourceConfiguration(AudioSourceConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetAudioSourceConfiguration(Configuration, ForcePersistence);
        }

        public void SetMetadataConfiguration(MetadataConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetMetadataConfiguration(Configuration, ForcePersistence);
        }

        public void SetSynchronizationPoint(string ProfileToken)
        {
            base.Channel.SetSynchronizationPoint(ProfileToken);
        }

        public void SetVideoAnalyticsConfiguration(VideoAnalyticsConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetVideoAnalyticsConfiguration(Configuration, ForcePersistence);
        }

        public void SetVideoEncoderConfiguration(VideoEncoderConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetVideoEncoderConfiguration(Configuration, ForcePersistence);
        }

        public void SetVideoSourceConfiguration(VideoSourceConfiguration Configuration, bool ForcePersistence)
        {
            base.Channel.SetVideoSourceConfiguration(Configuration, ForcePersistence);
        }

        public void StartMulticastStreaming(string ProfileToken)
        {
            base.Channel.StartMulticastStreaming(ProfileToken);
        }

        public void StopMulticastStreaming(string ProfileToken)
        {
            base.Channel.StopMulticastStreaming(ProfileToken);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioDecoderConfigurationsResponse Media.GetAudioDecoderConfigurations(GetAudioDecoderConfigurationsRequest request)
        {
            return base.Channel.GetAudioDecoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioEncoderConfigurationsResponse Media.GetAudioEncoderConfigurations(GetAudioEncoderConfigurationsRequest request)
        {
            return base.Channel.GetAudioEncoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioOutputConfigurationsResponse Media.GetAudioOutputConfigurations(GetAudioOutputConfigurationsRequest request)
        {
            return base.Channel.GetAudioOutputConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioOutputsResponse Media.GetAudioOutputs(GetAudioOutputsRequest request)
        {
            return base.Channel.GetAudioOutputs(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioSourceConfigurationsResponse Media.GetAudioSourceConfigurations(GetAudioSourceConfigurationsRequest request)
        {
            return base.Channel.GetAudioSourceConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetAudioSourcesResponse Media.GetAudioSources(GetAudioSourcesRequest request)
        {
            return base.Channel.GetAudioSources(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleAudioDecoderConfigurationsResponse Media.GetCompatibleAudioDecoderConfigurations(GetCompatibleAudioDecoderConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleAudioDecoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleAudioEncoderConfigurationsResponse Media.GetCompatibleAudioEncoderConfigurations(GetCompatibleAudioEncoderConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleAudioEncoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleAudioOutputConfigurationsResponse Media.GetCompatibleAudioOutputConfigurations(GetCompatibleAudioOutputConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleAudioOutputConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleAudioSourceConfigurationsResponse Media.GetCompatibleAudioSourceConfigurations(GetCompatibleAudioSourceConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleAudioSourceConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleMetadataConfigurationsResponse Media.GetCompatibleMetadataConfigurations(GetCompatibleMetadataConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleMetadataConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleVideoAnalyticsConfigurationsResponse Media.GetCompatibleVideoAnalyticsConfigurations(GetCompatibleVideoAnalyticsConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleVideoAnalyticsConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleVideoEncoderConfigurationsResponse Media.GetCompatibleVideoEncoderConfigurations(GetCompatibleVideoEncoderConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleVideoEncoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetCompatibleVideoSourceConfigurationsResponse Media.GetCompatibleVideoSourceConfigurations(GetCompatibleVideoSourceConfigurationsRequest request)
        {
            return base.Channel.GetCompatibleVideoSourceConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetMetadataConfigurationsResponse Media.GetMetadataConfigurations(GetMetadataConfigurationsRequest request)
        {
            return base.Channel.GetMetadataConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetProfilesResponse Media.GetProfiles(GetProfilesRequest request)
        {
            return base.Channel.GetProfiles(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetServiceCapabilitiesResponse1 Media.GetServiceCapabilities(GetServiceCapabilitiesRequest request)
        {
            return base.Channel.GetServiceCapabilities(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetVideoAnalyticsConfigurationsResponse Media.GetVideoAnalyticsConfigurations(GetVideoAnalyticsConfigurationsRequest request)
        {
            return base.Channel.GetVideoAnalyticsConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetVideoEncoderConfigurationsResponse Media.GetVideoEncoderConfigurations(GetVideoEncoderConfigurationsRequest request)
        {
            return base.Channel.GetVideoEncoderConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetVideoSourceConfigurationsResponse Media.GetVideoSourceConfigurations(GetVideoSourceConfigurationsRequest request)
        {
            return base.Channel.GetVideoSourceConfigurations(request);
        }

        [EditorBrowsable(EditorBrowsableState.Advanced)]
        GetVideoSourcesResponse Media.GetVideoSources(GetVideoSourcesRequest request)
        {
            return base.Channel.GetVideoSources(request);
        }
    }
}

